Foreground/background segmentation in digital images with differential exposure calculations

ABSTRACT

A digital segmentation method and apparatus determines foreground and/or background within at least one portion of a captured image. The determining includes comparing a captured image to a pre-captured or post captured reference image of nominally the same scene. One of the images is taken with flash and the other without. The system can be implemented as part of a digital camera acquisition chain having effective computation complexity.

PRIORITY

This application is a continuation-in-part to United States patentapplication Ser. No. 10/919,226, filed Aug. 16, 2004, which is relatedto U.S. applications No. 10/635,918, filed Aug. 5, 2003 and Ser. No.10/773,092, filed Feb. 4, 2004. Each of these applications is herebyincorporated by reference.

BACKGROUND

1. Field of the Invention

The invention relates to an image segmentation method and system, and inparticular to a tool for determining regions indicative of foregroundand background based on exposure analysis of captured and referenceimages.

2. Description of the Related Art

Image segmentation involves digital image processing wherein an image isbroken down into regions based on some predefined criteria. Thesecriteria may be contextual, numerical, shape, size, and/orcolor-related, gradient-related and more. It is desired to have atechnique for determining the foreground and background of digitalimages for numerous image processing operations. Such operations mayinclude image enhancement, color correction, and/or object based imageanalysis. In the specific case of processing inside of an acquisitiondevice, it is desired to perform such segmentation expeditiously, whileutilizing suitable computations of relatively low complexity, forexample, for performing calculations in-camera or in handset phonesequipped with image acquisition capabilities.

SUMMARY OF THE INVENTION

A digital image acquisition system is provided having no photographicfilm. The system includes an apparatus for capturing digital images, aflash unit for providing illumination during image capture, and asegmentation tool for determining regions indicative of foregroundand/or background within at least one portion of a captured image. Thedetermining is effected as a function of a comparison of a capturedimage and a reference image of nominally the same scene. One of thecaptured and reference images is taken with flash and the other is takenwithout flash.

While available ambient light such as sunlight is in general morespatially uniform in nature than strobe lighting, especially forpoint-and-shoot cameras (as opposed to studio settings with multiplestrobe units) that originates from or close to the camera. Due to thefact that the strobe energy is inverse to the square of the distance,the closer the object is, the stronger the light on the object will be.The overall light distribution will vary between the two images, becauseone shot or subset of shots will be illuminated only with availableambient light while another will be illuminated with direct flash light.

A background/foreground segmented image can be used in numerous digitalimage processing algorithms such as algorithms to enhance the separationof the subject, which is usually in the foreground, from the background.This technique may be used to enhance depth of field, to enhance oreliminate the background altogether, or to extract objects such as facesor people from an image.

By reducing the area which is subjected to an image processing analysis,processing time is reduced substantially for many real-time algorithms.This is particularly advantageous for algorithms implemented within adigital image acquisition device where it is desired to apply imageprocessing as part of the main image acquisition chain. Thus, theclick-td-click time of a digital camera is improved. In certainembodiments it may advantageously allow multiple image processingtechniques to be employed where previously only a single technique wasapplied. It can also serve to reduce occurrences of false positives forcertain image processing algorithms where these are more likely to occurin either the background or foreground regions of an image.

The invention may be applied to embedded devices with limitedcomputation capability. It can be used also to improve productivity, inparticular where large amounts of images are to be processed, such asfor security based facial detection, large volume printing systems ordesktop analysis of a collection of images. The invention may be appliedto still image capture devices, as well as for video or continuouscapture devices with stroboscopic capability.

BRIEF DESCRIPTION OF DRAWINGS

Preferred embodiments will now be described, by way of example, withreference to the accompanying drawings, in which:

FIG. 1 is a block diagram of a camera apparatus operating in accordancewith a preferred embodiment.

FIGS. 2(a), 2(b) and 2(c) illustrate a detailed workflow in accordancewith preferred embodiments.

FIG. 3 is a graph illustrating the distributions in pixel intensitiesfor a flash and non-flash version of an image.

FIG. 4 illustrates the alignment process used in the workflow of FIG.2(a).

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 shows a block diagram of an image acquisition device 20 operatingin accordance with a preferred embodiment. The digital acquisitiondevice 20, which in the present embodiment is a portable digital camera,includes a processor 120. It can be appreciated that many of theprocesses implemented in the digital camera may be implemented in orcontrolled by software operating in a microprocessor, central processingunit, controller, digital signal processor and/or an applicationspecific integrated circuit, collectively depicted as block 120 labelled“processor”. Generically, user interface and control of peripheralcomponents such as buttons and display is controlled by a μ-controller122.

The processor 120, in response to a user input at 122, such as halfpressing a shutter button (pre-capture mode 32), initiates and controlsthe digital photographic process. Ambient light exposure is determinedusing light sensor 40 in order to automatically determine if a flash isto be used. The distance to the subject is determined using focusingmeans 50 which also focuses the image on image capture component 60. Ifa flash is to be used, processor 120 causes the flash 70 to generate aphotographic flash in substantial coincidence with the recording of theimage by image capture component 60 upon full depression of the shutterbutton.

The image capture component 60 digitally records the image in color. Theimage capture component 60 is known to those familiar with the art andmay include a CCD (charge coupled device) or CMOS to facilitate digitalrecording. The flash may be selectively generated either in response tothe light sensor 40 or a manual input 72 from the user of the camera.The image I(x,y) recorded by image capture component 60 is stored inimage store component 80 which may comprise computer memory such adynamic random access memory or a non-volatile memory. The camera isequipped with a display 100, such as an LCD, for preview and post-viewof images.

In the case of preview images P(x,y), which are generated in thepre-capture mode 32 with the shutter button half-pressed, the display100 can assist the user in composing the image, as well as being used todetermine focusing and exposure. A temporary storage space 82 is used tostore one or plurality of the preview images and can be part of theimage store means 80 or a separate component. The preview image isusually generated by the image capture component 60. Parameters of thepreview image may be recorded for later use when equating the ambientconditions with the final image. Alternatively, the parameters may bedetermined to match those of the consequently captured, full resolutionimage. For speed and memory efficiency reasons, preview images may begenerated by subsampling a raw captured image using software 124 whichcan be part of a general processor 120 or dedicated hardware orcombination thereof, before displaying or storing the preview image. Thesub sampling may be for horizontal, vertical or a combination of thetwo. Depending on the settings of this hardware subsystem, thepre-acquisition image processing may satisfy some predetermined testcriteria prior to storing a preview image. Such test criteria may bechronological—such as to constantly replace the previous saved previewimage with a new captured preview image every 0.5 seconds during thepre-capture mode 32, until the final full resolution image I(x,y) iscaptured by full depression of the shutter button. More sophisticatedcriteria may involve analysis of the of the preview image content, forexample, testing the image for changes, or the detection of faces in theimage before deciding whether the new preview image should replace apreviously saved image. Other criteria may be based on image analysissuch as the sharpness, detection of eyes or metadata analysis such asthe exposure condition, whether a flash is going to happen, and/or thedistance to the subjects.

If test criteria are not met, the camera continues by capturing the nextpreview image without saving the current one. The process continuesuntil the final full resolution image I(x,y) is acquired and saved byfully depressing the shutter button.

Where multiple preview images can be saved, a new preview image will beplaced on a chronological First In First Out (FIFO) stack, until theuser takes the final picture. The reason for storing multiple previewimages is that the last image, or any single image, may not be the bestreference image for comparison with the final full resolution image in.By storing multiple images, a better reference image can be achieved,and a closer alignment between the preview and the final captured imagecan be achieved in an alignment stage discussed further in relation toFIGS. 2(a)-2(c) and 4. Other reasons for capturing multiple images arethat a single image may be blurred due to motion, the focus not beingset, and/or the exposure not being set.

In an alternative embodiment, the multiple images may be a combinationof preview images, which are images captured prior to the main fullresolution image and postview images, which are image or images capturedafter said main image. In one embodiment, multiple preview images mayassist in creating a single higher quality reference image; eitherhigher resolution or by taking different portions of different regionsfrom the multiple images.

A segmentation filter 90 analyzes the stored image I(x,y) for foregroundand background characteristics before forwarding the image along withits foreground/background segmentation information 99 for furtherprocessing or display. The filter 90 can be integral to the camera 20 orpart of an external processing device 10 such as a desktop computer, ahand held device, a cell phone handset or a server. In this embodiment,the segmentation filter 90 receives the captured image I(x,y) from thefull resolution image storage 80 as well as one or a plurality ofpreview images P(x,y) from the temporary storage 82.

The image I(x,y) as captured, segmented and/or further processed may beeither displayed on image display 100, saved on a persistent storage 112which can be internal or a removable storage such as CF card, SD card,USB dongle, or the like, or downloaded to another device, such as apersonal computer, server or printer via image output component 110which can be tethered or wireless. The segmentation data may also bestored 99 either in the image header, as a separate file, or forwardedto another function which uses this information for image manipulation.

In embodiments where the segmentation filter 90 is implemented in anexternal application in a separate device 10, such as a desktopcomputer, the final captured image I(x,y) stored in block 80 along witha representation of the preview image as temporarily stored in 82, maybe stored prior to modification on the storage device 112, ortransferred together via the image output component 110 onto theexternal device 10, later to be processed by the segmentation filter 90.The preview image or multiple images, also referred to as sprite-images,may be pre-processed prior to storage, to improve compression rate,remove redundant data between images, align or color compress data.

FIGS. 2(a)-2(b) illustrate a workflow of the segmentation filter 90 ofthis embodiment. Referring to FIG. 2(a), there are two input images intothe filter, namely a full resolution flash image I(x,y), 510, which isthe one that was captured by full depression of the shutter button and apreview image P(x,y), 520, which is used as a reference image and isnominally the same scene as the image I(x,y) but taken without theflash. The preview image may be a result of some image processing, 522,taking into account multiple preview images and creating a single image.Methods of improving image quality based on multiple images are familiarto those versed in the art of image processing. The resulting outputfrom the analysis process of 522 is a single preview image.

As explained above, the reference image and the final image may havedifferent resolutions. The preview image 520 is normally, but notnecessarily, of lower resolution than the full resolution image 510,typically being generated by clocking out a subset of the image sensorcells of the image capture component 60 or by averaging the raw sensordata.

The discrepancy in resolution may lead to differences in content, orpixel values, even though no data was changed in the subject image. Inparticular, edge regions when down-sampled and then up-sampled may havea blurring or an averaging effect on the pixels. Thus direct comparisonof different resolution images, even when aligned, may lead to falsecontouring.

Therefore, the two images need to be matched in pixel resolution, 530.In the present context “pixel resolution” is meant to refer to the sizeof the image in terms of the number of pixels constituting the imageconcerned. Such a process may be done by either up-sampling the previewimage, 534, down-sampling the acquired image, 532, or a combinationthereof. Those familiar in the art will be aware of several techniquesthat may be used for such sampling methods. The result of step 530 is apair of images I′(x,y) and P′(x,y) corresponding to the original imagesI(x,y) and P(x,y), or relevant regions thereof, with matching pixelresolution.

Where the foreground/background segmentation is done solely for thepurpose of improving the detection of redeye artefacts, faces or otherimage features, the pixel matching as described above can be limited tothose regions in the images containing or suspected to contain eyes,faces or other features, as the case may be, which can be determined byimage processing techniques. In such a case the subsequent processingsteps now to be described may be performed individually on each suchregion rather than on the images as a whole, and references to the“image” or “images” are to be interpreted accordingly.

The system and method of the preferred embodiment involves thesegmentation of the image I(x,y) using exposure discrepancies betweenI′(x,y) and P′(x,y). It may also be advantageous to apply motioncompensation 591 to one or both of the images I′(x,y) and P′(x,y). Thiscan be achieved using two (or more) preview images 526, 527 to create amotion map 580 as described in U.S. application Ser. No. 10/985,657 andits corresponding PCT Application, which are hereby incorporated byreference, as well as other techniques for motion compensation that maybe understood by those skilled in the art. In embodiments whichincorporate motion compensation, the acquisition parameters for the mainimage I(x,y) will typically be used to determine if motion compensationis to be applied. Additionally, a user setting may be provided to enableor disable motion compensation. Alternatively, motion compensation maybe applied, on a pixel by pixel basis, as part of alignment describedbelow.

Motion compensation may be employed prior to the generation of aforeground/background map, e.g., where it is desired to eliminate aglobal motion of the image. However in certain embodiments it may beadvantageous to perform a secondary motion compensation operation duringthe creation of the foreground/background map. This secondary motioncompensation is not intended to eliminate a global motion of the image,but rather to compensate for small localized motions that may occurwithin the image. A good example is that of the leaves of a tree or bushwhich are fluttering in the wind while an image is being acquired. Suchlocal motions can cause variations in luminance which should becompensated for after the initial foreground/background map is created596 and segmented 597. Afterwards, a localized motion compensation maybe employed to eliminate regions which exhibited localized motion or tosubject such regions to more detailed analysis. This is illustrated inFIG. 2(c). In the case of this embodiment, morphological closing 592 andelimination of small regions 593 are included. Techniques to implementeach of these are known to those skilled in the art of imagesegmentation.

Although nominally of the same scene, the preview image and the finallyacquired full resolution image may differ spatially due to the temporallag between capturing the two images. The alignment may be global, dueto camera movement or local due to object movement, or a combination ofthe two. Therefore, the two images are advantageously aligned 540 inaccordance with a preferred embodiment. Essentially, alignment involvestransforming at least portions of one of the images, and in thisembodiment the preview image P′(x,y), to obtain maximum correlationbetween the images based on measurable characteristics such as color,texture, edge analysis. U.S. Pat. No. 6,295,367 is hereby incorporatedby reference as disclosing techniques for achieving alignment. Thetechnique may align images that are initially misaligned due to objectand camera movement. U.S. Pat. No. 5,933,546 is also hereby incorporatedby reference. Multi-resolution data may be used for pattern matching.Alignment is also discussed further in relation to FIG. 4.

The images are then equalized for exposure and possibly in color space550. Equalisation attempts to bring the preview image and the flash fullresolution image to the same overall level of exposure. The equalizationcan be achieved in different manners. The goal is to ensure that bothimages, preview and final have the same ambient conditions or asimulation of them. Specifically, the preview image is preferablyconveyed having the same overall exposure as the flash image. In mostcases, when using flash, even in a fill-flash mode, the final image willuse a lower ambient exposure, to prevent over exposure due to the flash.In other words, the overall ambient exposure of the flash image islower. In other words, the exposure on the foreground shuld remainconstant after adding the flash light, and thus there is a need use asmaller aperture or shorter shutter speed. The equalization may be doneanalytically by matching the histograms of the images. Alternatively ifthe overall ambient exposure, which is depicted as function of aperture,shutter speed, and sensitivity (or gain) can be calculated and if theexposure is different, the pixel value can be modified, up to clippingconditions, based on the ratio between the two. Note that the exposuremight not be equal in all channels and may also include a stage of colorcorrection which compensates for different exposures for the variouscolor channels. An example of this is when the ambient light is warm,such as incandescent, while the final image using flash is closer todaylight in terms of the overall color temperature.

In an alternative method, when the final ambient exposure is known, thepreview image used as reference can be acquired with the same equivalentexposure. This can serve to eliminate the equalization stage. Note thatin such case, the preview image may not be optimal to ambientconditions, but it is equalized with the final flash image.

As can be seen from FIG. 3, an idealised non-flash image of a scenecontaining some foreground objects can be considered to have a generallyunimodal distribution of luminance levels across all pixels. Where ascene is well lit, the peak of the distribution tends to be at a higherluminance level, whereas for dimly light scenes, the peak will tend tobe a lower luminance level. In a flash version of the same scene, pixelscorresponding to foreground objects will tend to have increasedluminance levels due to the proximity to the flash source. However,pixels corresponding to background objects will tend to have relativelyreduced luminance levels. Thus, in a preferred embodiment, pixelluminance levels for a flash version image of a scene are mapped toluminance levels which bring the non-flash (preview) image and the flashversion image of the scene to the same overall level of exposure. Thismapping go can be represented as follows:∫_(x)^(y)P^(′′)(x, y) = g(P^(′)(x, y), x, y)∫_(x)^(y)P^(′)(x, y)  

In the simplest case, the function g( ) is a constant, in generalgreater than 1, mapping exposure levels in a preview image P′(x,y) toproduce an altered image P″(x,y) having the same overall exposure levelas the flash version image I′(x,y). (Alternatively, the image I′(x,y)could be mapped to I″(x,y).) In the simplest implementation of thiscase, both images I′(x,y) and P′(x,y) are converted to greyscale and themean luminance for each image is computed. The luminance values of oneof the images are then adjusted so that the mean luminance values of thealtered image P″(x,y) and the image I′(x,y) match.

However, the function go can be dependent on the original exposure levelof a pixel P′(x,y), for example, to prevent color saturation or loss ofcontrast. The function may also be dependent on a pixel's (x,y) locationwithin an image, perhaps tending to adjust more centrally located pixelsmore than peripheral pixels.

Nonetheless, it will be seen from FIG. 3 that in a pixel by pixelcomparison, or even a block-based comparison (each block comprising N×Npixels within a regular grid of M×M regions), the adjusted flash versionof the image has a bimodal distribution between the exposure levels ofbackground and foreground objects.

In preferred embodiments, during equalisation, one or more thresholdsV_(H), V_(L) and possibly block size n are determined for later use indetermining the background and foreground areas of the image I′(x,y).The threshold process is based on finding the optimal threshold valuesin a bimodal distribution and with the benefit of a reference unimodalnon-flash image. Suitable techniques are described in the literature andare known to one familiar in the art of numerical classification.Nonetheless, as an example, the upper threshold level V_(H) could betaken as the cross-over luminance value of the upper bimodal peak andthe unimodal distribution, whereas the lower threshold VL could be takenas the cross-over of the lower bimodal peak and the unimodaldistribution. It will be appreciated that the distribution of pixelexposure levels may not in practice be smooth and there may be severalcross-over points in raw image data, and so some smoothing of theluminance distribution may need to be performed before determining suchcross-over points and so the thresholds.

After the thresholds V_(H), V_(L) are determined, the image is processedvia a segmenting tool, 590, to designate pixels or regions as backgroundor foreground. In one embodiment, pixels whose values change less than athreshold amount, say V_(H)−V_(L) (or some other empirically determinedvalue) between flash I′(x,y) and non-flash versions P″(x,y) of the imagerepresent pixels in areas of a flash-image forming a boundary betweenbackground and foreground objects. When such individual pixels arelinked, then segments of the image I′(x,y) substantially enclosed bylinked boundary pixels and having pixel values on average brighter thanin the corresponding segment of the non-flash image P″(x,y) aredesignated as foreground, whereas segments of the image substantiallyenclosed by boundary pixels and having pixel values on average darkerthan in the corresponding segment of the non-flash image are designatedas background.

In a second embodiment, foreground pixels in a flash image are initiallydetermined at step 596 as those with exposure levels greater than theupper exposure threshold value V_(H) and background pixels in a flashimage are those with exposure levels less than the lower exposurethreshold value V_(L).

In a still further embodiment of step 596, thresholds are not employedand initial segmentation is achieved simply by subtracting the localexposure values for each image on a pixel by pixel or block by block(each block comprising n×n pixels) basis to create a difference map.Typically, foreground pixels will have a higher (brighter) value andbackground pixels will have a lower value.

One technique by which a block by block averaging can be advantageouslyachieved in a state-of-art digital camera is to employ a hardwaresubsampler 124 where available. This can very quickly generate asubsampled 1/n version of both images where each pixel of each imagerepresents an average over an n×n block in the original image.

In certain embodiments, after an initial matching of size betweenpreview and main image, further subsampling may be implemented prior tosubtracting the local exposure values for each image on a pixel by pixelbasis. After an initial foreground/background map is determined usingthe smallest pair of matched images, this map may be refined by applyingthe results to the next largest pair of subsampled images, each pixelnow corresponding to an N×N block of pixels in the larger pair ofimages.

A refinement of said initial map may be achieved by performing a fullpixel-by-pixel analysis, of the larger pair of matched images, only onthe border regions of the initial foreground/background map. It will beappreciated that where a hardware subsampler is available thatgenerating multiple sets of matched subsampled images is relativelyinexpensive in terms of computing resources. In certain embodimentsperforming a series of such refinements on successively larger pairs ofmatched subsampled images can advantageously eliminate the need foralignement and registration of the images. The advantages of thistechnique must be balanced against the requirement to temporarily storea series of pairs of matched subsampled images of successivelydecreasing size.

Each of the processes involving threshold comparisons may also take intoaccount neighbouring pixel operations where the threshold value orcomparison is dependent on the surrounding pixel values to eliminatenoise artefacts and slight shifts between the preview and the finalimage.

Nonetheless, it will be seen that the determination ofbackground/foreground membership is not achieved with complete accuracyusing a single pass pixel-based or block-based analysis alone. As anexample, consider a person with a striped shirt. It may be that thecorrected luminance of the dark stripes actually indicates they arebackground pixels even though they are in close proximity to a largecollection of foreground pixels.

Accordingly it is advantageous to incorporate additional analysis andso, following the creation of an initial foreground map, even if thishas been performed on a n×n block rather than pixel basis, theforeground pixels/blocks are segmented and labelled 597. This step helpsto eliminate artefacts such as a striped shirt and those due to imagenoise or statistical outliers in the foreground map. It is alsoadvantageous to eliminate small segments.

Thus a final map (mask) of foreground pixels is created 594. This maynow be upsized to match the size of the main acquired image, 599-1, andcan be advantageously employed for further image processing of the mainimage, 501. For example, although not shown, the system may include aface detector or redeye filter, and in such a case 501 can includetechniques for applying these selectively to the foreground regiondefined by the mask, thus reducing the execution time for suchalgorithms by excluding the analysis of background segments.Alternatively, where the system includes a component for identifyingredeye candidate regions 501, U.S. patent application Ser. No.10/976,336 is hereby incorporated by reference. This component canimplement a redeye falsing analysis by increasing or decreasing theprobability of a redeye candidate region being an actual redeye regionaccording to whether the candidate appears in the foreground orbackground of the captured image.

As was already mentioned, in a preferred embodiment it may beadvantageous to initially employ aggressive downsampling of the images510, 520. This may eliminate the need for the alignment step 540 and, ifthe present invention is applied recursively and selectively on aregional basis, a full-sized foreground mask can be achieved without agreat increase in computation time.

Referring back now to FIG. 2(b), where it is assumed that during thesize matching 530 of FIG. 2(a), several pairs of matching images arecreated or, alternatively, are created dynamically on each recursionthrough the loop of FIG. 2(b). For example, consider a main image ofsize 1024×768 with a preview of size 256×192. Let us suppose that threesets of matching images are created at resolutions of 1024×768 (previewis upsized by 4×), 256×192 (main image is downsized by 4×) and at 64×48(main image downsized by 16× and preview downsized by 4×). Now we assumethat the initial analysis is performed on the 64×48 image as describedin FIG. 2(a) as far as the segmentation tool step 590.

After the step 590, an additional step 517 determines if the comparisonsize (the image size used to generate the latest iteration of theforeground map) is equal to the size of the main flash image I(x,y). Ifnot then the foreground map is upsized to the next comparison size599-2—in this case 256×192 pixels. Each pixel in the original map is nowenlarged into a 4×4 pixel block. The regions forming the boundarybetween foreground and background segments—they were pixels at the lowermap resolution—of this enlarged map are next determined 570 and thedownsampled images of this comparison size (256×192) are loaded 531. Inthis case, the technique may be applied to the entire image or a portionof the entire image at the higher resolution as regions withinforeground segments are determined to definitely be foreground regions.In this embodiment, it is only the boundary regions between backgroundand foreground that are analyzed. The same analysis that was applied tothe main image are now applied to these regions. They may be aligned540, before being equalizing 551, and the segmentation tool 590 isapplied to each 16×16 region. The results are merged with the existingforeground map 515.

If the foreground map is now of the same size as the main flash image517 then it can be directly applied to the main image 501.Alternatively, if it is still smaller then it is upsampled to the nextimage comparison size 599-2 and a further recursion through thealgorithm is performed.

The segmented data is stored, 598 as a segmentation mask as in FIG.2(a). If necessary in order to return to the original image size, thesegmentation mask will need to be up-sampled, 599, by the same factorthe acquired image was down-sampled in step 532. The upsampling 599should be sophisticated enough to investigate the edge information inthe periphery of the mask, to ensure that the right regions in theupsampled map will be covered. Such techniques may include upsampling ofan image or a mask while maintaining edge information.

FIG. 4 shows the workflow of the alignment function 540 of FIG. 2(a),where the inputs are the two images I′(x,y) and P′(x,y) as defined inrelation to FIG. 2(a). The alignment may be global for the entire imageor local for specific regions. Global movement may be caused by cameramovement while local movement may be caused by object movement duringthe exposure interval of the image. For example, a simple linearalignment, such as a shift in the horizontal direction by H pixels,and/or in the vertical direction by V pixels, or a combination of thetwo. Mathematically, the shifted image, P″(x,y), can be described as:P″(x,y)=P′(x−H,y−V)

However, simple translation operation assumes shift invariance which maynot suffice in the aligning of the image. Even in the case of cameramovement, such movement may include a Affine transformation thatincludes rotation, and shear as well as translation. Therefore, theremay be a need for X-Y shearing, which is a symmetrical shift of theobject's points in the direction of the axis to correct for perspectivechanges; X-Y tapering where the object is pinched by shifting itscoordinates towards the axis, the greater the magnitude of thecoordinate the further the shift; or rotation around an arbitrary point.

In general, the alignment process may involve an Affine transformation,defined as a special class of projective transformations that do notmove any objects from the affine space R³ to the plane at infinity orconversely, or any transformation that preserves co linearity (i.e. allpoints lying on a line initially still lie on a line aftertransformation) and ratios of distances (e.g., the midpoint of a linesegment remains the midpoint after transformation). Geometriccontraction, expansion, dilation, reflection, rotation, shear,similarity transformations, spiral similarities and translation are allaffine transformations, as are their combinations. In general, thealignment 540 may be achieved via an affine transformation which is acomposition of rotations, translations, dilations, and shears, allwell-known to one familiar in the art of image processing.

If it is determined through a correlation process that a globaltransformation suffices, as determined in block 542=YES, one of theimages, and for simplicity the preview image, will undergo an Affinetransformation, 544, to align itself with the final full resolutionimage. Mathematically, this transformation can be depicted as:P″=AP′+qwhere A is a linear transformation and q is a translation.

However, in some cases a global transformation may not work well, inparticular for cases where the subject matter moved, as could happenwhen photographing animated objects. In such case, in particular inimages with multiple human subjects, and when the subjects move inindependent fashion, the process of alignment 540 may be broken down,546, to numerous local regions each with its own affine transformation.In the case of the use of the present technique for redeye detection andcorrection, it is preferred to align the eyes between the images.Therefore, according to this alternative, one or multiple localalignments may be performed, 548, for regions in the vicinitysurrounding the eyes, such as faces.

Only after the images are aligned are the exposure value between theimages equalised as in FIG. 2(a).

The preferred embodiments described above may be modified by adding orchanging operations, steps and/or components in many ways to produceadvantageous alternative embodiments. For example, the reference imagecan be a post-view image rather than a preview image, i.e. an imagetaken without flash immediately after the flash picture is taken.

Alternatively, the reference image could be the flash image and the fullresolution captured image the non-flash image. An example of this iswhen the camera is set up in a special mode (similar to a portrait sceneselection mode), so that the preview image is the one with the flashwhile the final image may be with no flash. In this case, the roles ofthe images reverse in terms of calculating the difference between theimages. Additionally, the reference image may be either a preview imageor a post-view image.

The preferred embodiments described herein may involve expanded digitalacquisition technology that inherently involves digital cameras, butthat may be integrated with other devices such as cell-phones equippedwith an acquisition component or toy cameras. The digital camera orother image acquisition device of the preferred embodiment has thecapability to record not only image data, but also additional datareferred to as meta-data. The file header of an image file, such asJPEG, TIFF, JPEG-2000, etc., may include capture information includingthe preview image, a set of preview images or a single image that isprocessed to provide a compressed version of selected reference images,for processing and segmentation at a later post processing stage, whichmay be performed in the acquisition device or in a separate device suchas a personal computer.

In these embodiments, in the comparison stages, the pixel values may becompared for lightness. Alternatively or additionally, these can becompared with other values such as color. An example of chromaticcomparison is warm coloring such as yellow tint that may indicateincandescent light or blue tint that may indicate shade regions insunlit environment, or other colours indicative of change betweenambient lighting and the flash lighting. The comparison may be absoluteor relative. In the absolute case the absolute value of the differenceis recorded regardless to which of the images has the larger pixelvalue. In the relative case, not only the difference but also thedirection is maintained. The two techniques may also assist inestablishing the registration between the two images. In the case thesubject slightly moves, for example horizontally, the relativedifference may indicate a reversal of the values on the left side of theobject and the right side of the object.

In certain embodiments it may also prove advantageous to employ a “ratiomap” rather than a “difference map”. In such embodiments a ratio betweenthe pixel luminance values of the two images (flash and non-flash) isdetermined. This technique can provide better results in certain casesand may be employed either as an alternative to a simple subtraction, orin certain embodiments it may be advantageous to combine output regionsderived from both techniques using, logical or statistical techniques ora combination thereof, to generate a final foreground/background map.

The present invention is not limited to the embodiments described aboveherein, which may be amended or modified without departing from thescope of the present invention as set forth in the appended claims, andstructural and functional equivalents thereof. In addition, UnitedStates published patent application no. 2003/0103159 to Nonaka, Osamu,entitled “Evaluating the effect of a strobe light in a camera” is herebyincorporated by reference as disclosing an in-camera image processingmethod for correcting shadow regions in a flash image.

In methods that may be performed according to preferred embodimentsherein and that may have been described above and/or claimed below, theoperations have been described in selected typographical sequences.However, the sequences have been selected and so ordered fortypographical convenience and are not intended to imply any particularorder for performing the operations.

In addition, all references cited above herein, in addition to thebackground and summary of the invention sections, are herebyincorporated by reference into the detailed description of the preferredembodiments as disclosing alternative embodiments and components.

1. A digital image acquisition system having no photographic film,comprising: (a) an apparatus for capturing digital images, (b) a flashunit for providing illumination during image capture, and (c) asegmentation tool for determining one or more regions that areindicative of a foreground region, or of a background region, or of abackground region and a foreground region, within at least one portionof a captured image, (d) wherein said determining comprises comparingsaid captured image and a reference image of nominally the same scene,and (e) wherein one of said captured and reference images being takenwith flash and the other being taken without flash.
 2. A systemaccording to claim 1, wherein the captured and reference images havedifferent pixel resolutions, and wherein the system further comprises apixel matching tool which is operative prior to application of thesegmentation tool for matching the pixel resolutions of the captured andreference images at least in respect of said at least one portion.
 3. Asystem according to claim 2, wherein said pixel matching tool utilizesup-sampling of the image of lower resolution or sub-sampling of theimage of higher resolution, or both.
 4. A system according to claim 1,further comprising an alignment tool which is operative prior toapplication of the segmentation tool for aligning said regions of saidcaptured and reference images at least in respect of said at least oneportion.
 5. A system according to claims 1, further comprising anexposure equalizer for substantially equalizing an overall level ofexposure of said regions or all of said captured and reference images atleast in respect of said at least one portion.
 6. A system according toclaim 5, wherein the substantially equalising of the overall level ofexposure of said regions or all of said captured and reference imagecomprises simulating an ambient exposure of the captured image on thereference image.
 7. A system according to claim 6, wherein thesimulating of the ambient exposure of the captured image on thereference image comprises digitally simulating a one or a combination ofaperture, acquisition speed, color transformations and gain of thecaptured image on the reference image.
 8. A system according to claims6, wherein the simulating of the ambient exposure of the captured imagecomprises individual, non-uniform manipulating of individual regions orcolor channels or combinations thereof.
 9. A system according to any oneof claims 5, wherein the substantially equalising of the overall levelof exposure of said captured and reference image comprises setting anambient exposure of the reference image to match a calculated exposureof the captured image.
 10. A system according to claim 5, wherein atleast in respect of said at least one portion, the segmentation tooldetermines corresponding pixels in the captured and reference imageswhose values differ by less than a predetermined threshold, anddesignates segments of the captured image bounded by said determinedpixels as foreground or background by comparing pixel values in asegment with pixel values in a corresponding segment of the referenceimage.
 11. A system according to claim 5, wherein at least in respect ofsaid at least one portion, the segmentation tool determines upper andlower thresholds based on a comparison of the overall level of exposureof the captured and reference images and designates pixels of thecaptured image as foreground or background according to whether theirvalues are greater than the upper threshold or less than the lowerthreshold.
 12. A system according to claim 5, wherein at least inrespect of said at least one portion, the segmentation tool designatesone or more segments of the captured image as foreground or backgroundby comparing pixel values in the captured and reference images.
 13. Asystem according to claim 5, wherein the reference image comprises apreview image having a lower pixel resolution than the captured image,and the captured image comprises the image taken with flash.
 14. Asystem according to claim 1, further comprising a face detection module.15. A system according to claim 1, further comprising a red-eyedetection filter or a red eye correction filter or both, for selectiveapplication to the foreground region.
 16. A system according to claim15, further comprising a probability module for changing a probabilityof a redeye candidate region being an actual redeye region according towhether the candidate appears in the foreground or background of thecaptured image.
 17. A system according to claim 1, further comprising adepth of focus module for reducing a perceived depth of focus accordingto whether a candidate region appears in the foreground or background ofthe captured image.
 18. A system according to claim 1, wherein thereference image comprises a preview image.
 19. A system according toclaim 1, wherein the reference image comprises an image capturedchronologically after said captured image.
 20. A system according toclaim 1, wherein the reference image comprises a combination of multiplereference-images.
 21. A system according to claim 1, wherein saiddigital image acquisition system comprises a digital camera.
 22. Asystem according to claims 1, wherein said digital image acquisitionsystem comprises a combination of a digital camera and an externalprocessing device.
 23. A system as claimed in claim 22, wherein saidsegmentation tool is located within said external processing device. 24.A system according to claims 1, wherein said digital image acquisitionsystem comprises a batch processing system including a digital printingdevice
 25. A system according to claims 1, wherein said digital imageacquisition system comprises a batch processing system including aserver computer.
 26. A digital segmentation tool for determining one ormore regions that are indicative of a foreground region, or of abackground region, or of a background region and a foreground region,within at least one portion of a captured image, wherein saiddetermining comprises comparing said captured image and a referenceimage of nominally the same scene, and wherein one of said captured andreference images being taken with flash and the other being takenwithout flash.
 27. A segmentation tool according to claim 26, whereinthe captured and reference images have different pixel resolutions, andwherein the segmentation tool operates in conjunction with a pixelmatching tool which is operative prior to application of thesegmentation tool for matching the pixel resolutions of the captured andreference images at least in respect of said at least one portion.
 28. Asegmentation tool according to claim 27, wherein said pixel matchingtool utilizes up-sampling of the image of lower resolution orsub-sampling of the image of higher resolution, or both.
 29. Asegmentation tool according to claim 26, wherein the segmentation tooloperates in conjunction with an alignment tool which is operative priorto application of the segmentation tool for aligning said captured andreference images at least in respect of said at least one portion.
 30. Asegmentation tool according to claims 26, wherein said segmentation tooloperates in conjunction with an exposure equalizer for substantiallyequalizing an overall level of exposure of said captured and referenceimages at least in respect of said at least one portion.
 31. Asegmentation tool according to claim 26, wherein said segmentation tooloperates in conjunction with a face detection module or a red-eyefilter, or both, for selective application to the foreground region. 32.A segmentation tool according to claim 31, wherein said segmentationtool further operates in conjunction with a probability module forchanging a probability of a redeye candidate region being an actualredeye region according to whether the candidate appears in theforeground or background of the captured image.
 33. A segmentation toolaccording to claim 31, wherein said segmentation tool further operatesin conjunction with a depth of focus module for reducing a perceiveddepth of focus according to whether a candidate region appears in theforeground or background of the captured image.
 34. A segmentation toolaccording to claim 31, wherein said segmentation tool further operatesin conjunction with a blurring module for blurring said regionsindicative of background of the captured image.
 35. A segmentation toolaccording to claim 26, wherein the reference image comprises a previewimage.
 36. A segmentation tool according to claim 26, wherein thereference image comprises an image captured chronologically after saidcaptured image.
 37. A segmentation tool according to claim 26, whereinthe reference image comprises a combination of multiplereference-images.